The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Configurable software platforms allow companies to focus on business strategies without requiring the companies to generate their own software platforms. As the needs of different types of customers may vary widely, modern software platforms are often built to be configurable to a wide variety of use cases. Software platforms that allow users to define their own variables, rules, operations, jobs, and reports are useful for providing flexibility in deployment. This allows two companies with completely different needs to use the same software, and customize projects to their own specific use cases.
Modern software platforms straddle the line between providing a robustly configurable interface and accessibility for unsophisticated users. While a configurable user interface allows for the creation of specialized aspects of a project, the user interface may be difficult to navigate for an unsophisticated user who only needs to implement a small subset of the features of the project. For instance, a sophisticated user may wish to define different types of auctions through the interface while an unsophisticated user may wish to execute one of the auctions defined by the sophisticated user.
Some software platforms attempt to solve these difficulties by providing two interfaces: a robust development interface and an easily navigable interface for the unsophisticated user. By providing two different interfaces, the software platform allows the extremely sophisticated user to define aspects of a project and the unsophisticated user to access and utilize the project.
While the two-interface approach can be useful, it essentially only envisions two types of users and two types of user operations: an extremely sophisticated user with full capabilities and users with less comprehensive understanding of the software platform, such users with domain-specific knowledge and unsophisticated users with limited capabilities. Thus, for the slightly unsophisticated user who wishes to be able to define variables without defining rules, the user must figure out how to navigate the robust development interface or ask a software developer to define the new variable for use.
Thus, there is a need for a system which provides a robust interface that is customizable to a plurality of different needs, but which is also customizable to be easily accessible and usable for all users of the interface.